/**
 * 用户上下文持有者，用于在运行时动态获取当前用户信息
 */
public class UserContextHolder {
    
    private static final ThreadLocal<String> USERNAME_HOLDER = new ThreadLocal<>();
    
    /**
     * 设置当前线程的用户信息
     */
    public static void setUsername(String username) {
        USERNAME_HOLDER.set(username);
    }
    
    /**
     * 获取当前线程的用户信息
     */
    public static String getUsername() {
        return USERNAME_HOLDER.get();
    }
    
    /**
     * 清除当前线程的用户信息
     */
    public static void clear() {
        USERNAME_HOLDER.remove();
    }
}
